
-------------------------------------------------------------------------------
 vOCɂ
-------------------------------------------------------------------------------

vOCpɂ

PluginstH_Platinumt@CǂݏۂɎgp
vOCi[Ă܂B
̃vOCPlatinum̃j[́uǂݍ݁vuovȂǂ̂Ăяo
t@CI_CAÓut@C̎ށvƂꏊɃXgAbv܂B
̃Xg̕я̓vOC̃t@C̏ԂłB
тύXꍇ̓vOĈ̖K؂ɕύXĂB
(ex:
0_fmf.dll
1_csv.dll


(Import)	ǂݍ\Buǂݍ݁vĂяo܂B
(Export)	o\BuovĂяo܂B
(Fileformat)	ǂݍ/o\BuJvuۑ/ʖŕۑvĂяo܂B


 bmp.dll (Export)
	}bvŜrbg}bv摜Ƃďo͂܂B
	\ɂȂĂ郌C[͕`悳܂B
	Obh̗LObh̐F́A
	݊JĂvWFNgt@C(*.ppj)p܂B

 csv.dll (Import/Export)
	CSVeLXgt@C̏oƓǂݍ݂s܂B
	t@C`2ނ̂ōDȕIŎgpĂB

	<<type1>>
	lƒlJ}(,)ŋ؂eLXgt@CŁA
	PsPR[hƂĈ܂B
	}bv̕PR[hƂă}bv̍̐R[h
	i[Ă܂B
	C[ubNƃC[ubN̋؂Ƃĉs}Ă܂B
	}bvf[^݂̂ō\Ă̂Ŕėp܂A
	ǂݍݎɂ̓}bv`bṽTCYȂǂ̕tK؂Ɏw肷Kv܂B

	<<type2>>
	{Iȃf[^тtype1ƓłA
	}bvf[^̑OɃ}bv̏1st̂ŁA
	PlatinumœǂݍލۂɃ}bv̓͂ȗł܂B
	1sڂɏo͂}bv͈̏ȉ̂ƂłB
	}bv̕,}bv̍,}bv`bv̕,}bv`bv̍,C[,rbgJEg(s)

	Eo
	@IvV̒type1, type2̂ǂ炩IĉB

	Eǂݍ
	@>>It@Ctype1̏ꍇ́A
	@@File Typetype1IA
	@@SettingsParts Width, Parts HeightɃp[c̃TCYA
	@@Size̍ڂ1p[c̃f[^TCYw肵ĂB

	@>>It@Ctype2̏ꍇ́A
	@@eݒ荀ڂ͎ݒ肳܂ύXĂ\܂B

 fmf.dll (Import/Export)
	wb_ubNƃC[f[^ubN琬oCit@CŁA
	ǂݍ݂ȒPōłB
	Samples/src/ *.fmft@Cǂݍނ߂̃Tv\[XR[hĂ܂B

 ppj.dll (Fileformat)
	PlatinumgpftHg̃vWFNgt@CtH[}bgłB
	PlatinumێقڑSĂ̏񂪃t@Cɏo܂B


vOCJɂ

vOC쐬PluginstH_ɃvOCuƂ
PlatinumŔCӂ̃}bvt@Cǂݏ鎖o悤ɂȂ܂B
JĂQ[ɍœKȃt@CtH[}bgœo͂łΕ֗łB
ł̓vOC쐬菇ȒPɋLڂ܂B
܂Aȉ̃tH_fmf.dll̃\[XR[h܂̂ŁA
ĎQlɂĉB
(Samples\src\fmf_plugin\)

EVisualC++ 7.1ł̍쐬@
(1). t@C(F) -> VK쐬(N) -> vWFNg(P)... ŕ\_CAO
VisualC++vWFNgIAWin32vWFNgI܂B

(2). EBU[h\̂ŁuAvP[V̐ݒṽy[WŁA
 AvP[V̎ : DLL
IĊ܂B

(3). stdafx.h͔Cӂ̏ꏊ Sample/src/plugin.h CN[h܂B
   #incllude "plugin.h"

(4). ȉɎ4̊֐K؂Ɏ֐GNX|[g܂B
@(VisualC++ 7Âo[W̏ꍇ.deft@CLqăvWFNgɒǉĂB)

extern "C" __declspec(dllexport) void GetPlatinumPluginInfo(PlatinumPluginInfo* pPluginInfo);
extern "C" __declspec(dllexport) int IsSupported(LPCTSTR lpszFileName);
extern "C" __declspec(dllexport) int Export(HWND hWndParent, LPCTSTR lpszFileName, const PlatinumData* pData, PPI_PROGRESS_CALLBACK fnCallback);
extern "C" __declspec(dllexport) int Import(HWND hWndParent, LPCTSTR lpszFileName, PlatinumData* pData, PPI_PROGRESS_CALLBACK fnCallback);

(5). DLLŃ_CAO\ꍇDllMainŃCX^XnhێĂA
ImportAExport֐ŐeEBhEƂhWndParentnă_CAO\ĂB

(ex:
HINSTANCE g_hInst;
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
	if (fdwReason == DLL_PROCESS_ATTACH)
		g_hInst = hinstDLL;

	return TRUE;
}
BOOL CALLBACK DialogProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	switch(uMsg)
	{
	case WM_INITDIALOG:
		return TRUE;
	case WM_COMMAND:
		switch(LOWORD(wParam))
		{
		case IDOK:
			EndDialog(hWnd, IDOK);
			return TRUE;
		case IDCANCEL:
			EndDialog(hWnd, IDCANCEL);
			return TRUE;
		}
	}
	return FALSE;
}

extern "C" __declspec(dllexport) int Export(HWND hWndParent, LPCTSTR lpszFileName, const PlatinumData* pData, PPI_PROGRESS_CALLBACK fnCallback)
{
	int nResult = DialogBoxParam(g_hInst, MAKEINTRESOURCE(IDD_DIALOG1), hWndParent, DialogProc, 0);
	...
}

(6). 쐬vOCPlatinumPluginstH_Ɋi[ĂB
